<?php

namespace app\api\controller;

use app\admin\model\Admin;
use app\common\controller\Api;
use think\Db;
use think\Response;

/**
 * 示例接口
 */
class Login extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*', '*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
    

    // 判断登录方法
   public function judge()
{
    $updata = input('post.');
    $data = Db::name('admin_register')->where('mobile', $updata['mobile'])->find();

    // 首先处理权限信息，无论条件如何都会执行
    $auth = Db::name('admin_register')->where('mobile', $updata['mobile'])->value('posthot');
    $result = $this->processAuthInfo($auth);

    if ($updata['mobile'] === $data['mobile']) {
        if ($data['password'] === $updata['password']) {
            if ($data['realname'] === "true") {
                return json_encode([
                    'status' => 0,
                    'message' => '登录成功',
                    'data' => [
                        'auth' => $result,
                        'realname_status' => true
                    ]
                ], JSON_UNESCAPED_UNICODE);
            } else {
                return json_encode([
                    'status' => 0,
                    'message' => '登录成功',
                    'data' => [
                        'auth' => $result,
                        'realname_status' => false
                    ]
                ], JSON_UNESCAPED_UNICODE);
            }
        } else {
            return json_encode([
                'status' => 2,
                'message' => '密码错误'
            ], JSON_UNESCAPED_UNICODE);
        }
    } else {
        return json_encode([
            'status' => 1,
            'message' => '用户不存在'
        ], JSON_UNESCAPED_UNICODE);
    }
}

private function processAuthInfo($auth)
{
    $commaPosition = strpos($auth, ',');
    if ($commaPosition !== false) {
        $afterFirstComma = substr($auth, $commaPosition + 1);
        $result = str_replace(',', '', $afterFirstComma);
    } else {
        $result = $auth;
    }
    return $result;
}

}
